Dr Constantinos KYRIAZOPOULOS

Dipl. Architect Engineer, NTU Athens, 1995, Dr in Computer Science, Université Paris 8, 2007

Diploma Thesis: "Artificial Intelligence and Architecture - Program CADRAM"

Specifications, development and presentation of the method and the CAAD (Computer Aided Architectural Design) application CADRAM (Computer Aided Design Rectangular Allocation Method), [Constantinos KYRIAZOPOULOS, 1995, National Technical University of Athens, School of Architecture, prof. Y.Veneris, grade 10.0/10.0].

Introduction

A computer application is presented, as implementation of a (previously presented) theory and method to solve architectural design problems. This method and program implements techniques of Artificial Intelligence, in order to find and produce all the different solutions of the given problem. A main feature of this method and program is the combination of architectural objects and their inter-relations.

The method includes:

α.           a representation system of the Objects using primitive shapes (rectangles which follow a defined grid)

b.           a set of essential Relations between rectangles and thereby between Objects

c.           three logical (Boolean) Functions (and, or, not) in order to define composite relations from other relations

d.           a formal Language which can define:

o            the Space where all the objects will placed

o            the Objects

o            the Relations between Objects and Space

e.           a system to find and produce the solutions

The program - application of the method includes:

a.           a formal language to describe the architectural design problem.

The architect can define, using this language, the rules (Relations) and the elements (Objects) that he will use.

b.           a solution generator and solution evaluation system, implemented in Turbo-Prolog.

This system produces all the possible valid (feasible) alternative solutions according to the requirements defined from the Objects and the Relations

c.           a graphical interface, through AutoCAD

Through this interface, the architect enters the graphical inputs and the program presents the final solutions.

Programming languages of the CADRAM program:

The main part of the program has been developed in Turbo‑Prolog and a smaller part in Turbo‑Pascal, while the graphical interface implemented in AutoLISP in order to co-operate with AutoCAD.

Main parts (modules) of the CADRAM program:

o            CADRAM A-I Solver

o            CADRAM Compiler

o            AutoCADRAM Shape

o            AutoCADRAM Show

Descriptions - Definitions through the CADRAM program:

o            Grid

o            Space (shape, properties)

o            Objects (definition, properties, parts)

o            real part

o            functional part

o            connective part

o            rules between parts

example

Object          BED
rectangle BR
kind REAL
from point 0,0
dimensions 4,2

Object          BED
rectangle BF
kind FUNCTIONAL
from point 1,2
dimensions 3,1

Object          BED
rectangle BC
kind CONNECTIVE
from point 0,2
dimensions 1,1

Object          BED
rectangle BF2
kind FUNCTIONAL
from point 4,0
dimensions 1,3

Object          BED
rectangle BC2
kind CONNECTIVE
from point 0,-1
dimensions 4,1

o            Relations

o            Relations between Objects

o            Placement Relations

o            Control Relations

o            Rules:
Contact internal
Contact external
Overlapping
Enclosure
Distance equal
Distance greater than
Distance lesser than
Orientation

example

Relation        R1
PLACE

TABLE-REAL
in EXTERNAL_CONTACT with
BED-REAL
with angles 270
and NOT MIRRORED

Relation        R2
CHECK
TABLE-REAL
in INTERNAL_CONTACT with
SPACE-REAL

Relation        R3
CHECK
TABLE-FUNCIONAL
in SECTION with
BED-FUNCIONAL

o            Relations between Relations

o            Logical function AND

o            Logical function OR

o            Logical function NOT

example

Relation        CT CLOSET internal_contact_top SPACE

Relation        CR CLOSET internal_contact_right SPACE

Relation        CL CLOSET internal_contact_left SPACE

Relation        (CT and CR ) or (CT and CL)

Description of definitions of design problem (architectural composition):

Syntactical and Grammatical Rules for the Space and the Objects:

object <NAME>   part <NAME2> kind <R/C/F> from <X1,Y1>   dim <X2,Y2>

Syntactical and Grammatical Rules for the Relations:

relation        <RELNAME> <PLACE/CHECK> <NEW_OBJECT_NAME,NEW_OBJECT_NAME2> <RULE>/<RULE NUM> <EXISTING_OBJECT_NAME, EXISTING_OBJECT_NAME2> [with angles <0,90,180,270> mirrors        <ORIGINAL,MIRRORED>]

 

relation        <RELNAME> <ALLOF/ONEOF/NONEOF> <RELNAME2> <RELNAME3> ...

 

rules are:      EXT_CNT, DIST_MIN, DIST_MAX, INT_CNT, INT_LT, INT_RT, INT_DN, INT_UP, IN, EXT_LT, EXT_RT, EXT_DN, EXT_UP, INT

From the natural language to the CADRAM language:

1.           Natural Language

"I want to put a bed B and a table T in a room R, so that the bed is in contact with the room R and the table T is in contact with the room R and the bed"

2.           Analysis

"I want a Room of given dimensions and attributes"

"I want a Bed of given dimensions and attributes"

"I want a Table of given dimensions and attributes"

"I want to put the Bed in contact with Room"

"I want to put the Table in contact with Room"

"I want to put the Table in contact with Bed"

3.           Preparation of the formal expression

Object          ROOM
rectangle R
kind REAL
from point 0,0
dimensions 10,8

Object          BED
rectangle R
kind REAL
from point 0,0
dimensions 4,2

Object          BED
rectangle F
kind FUNCTIONAL
from point 1,2
dimensions 3,1

Object          BED
rectangle C
kind CONNECTIVE
from point 0,2
dimensions 1,1

Object          TABLE
rectangle R
kind REAL
from point 0,0
dimensions 1,1

Object          TABLE
rectangle F
kind FUNCTIONAL
from point 0,1
dimensions 1,1

Relation        RELATION1
PLACE

BED, R
in INTERNAL_CONTACT with
ROOM, R
with POSSIBLE_ANGLES 0,90,180,270 DEGREES
either NO MIRRORED, OR MIRRORED

Relation        RELATION2
PLACE
TABLE, R
INSIDE
BED, C
with POSSIBLE_ANGLES 0,90,180,270 DEGREES
either NO MIRRORED, OR MIRRORED

Relation        RELATION3
CHECK
TABLE, R
in INTERNAL_CONTACT with
ROOM, R

Relation        FINAL
ALL RELATIONS OF:
RELATION1 RELATION2 RELATION3

4.           Formal Expression

object SPACE part R kind R from 0,0 dim 8,6

 

object BED part BR kind R from 0,0 dim 4,2

object BED part BC kind C from 0,2 dim 1,1

object BED part BF kind F from 1,2 dim 3,1

 

object BEDSIDE part BSR kind R from 0,0 dim 1,1

object BEDSIDE part BSF kind F from 0,1 dim 1,1

 

relation K1 PLACE BED,BR INT_CNT SPACE,R with angles 0,90,180,270 mirrors ORIGINAL,MIRRORED

relation K2 PLACE BEDSIDE,BSR IN BED,BC with angles 0,90,180,270 mirrors ORIGINAL, MIRRORED

relation K3 CHECK BEDSIDE,BSR INT_CNT SPACE,R

 

relation main ALLOF K1 K2 K3

Usage of the CADRAM program - example:

1.           Creation of  the "definition file" (in ascii text format) using the module CADRAM‑Editor, which provides an on-line help with the grammar and syntax of language.

2.           Compilation of the definition file using the module DEF2DBF and interpretation (transformation) to the apropriate files for the modules CADRAM‑4‑Solver and AutoCADRAM‑Shape.

3.           Automated drafting of the Objects, which come from the definition file, using the module AutoCADRAM‑Shape inside AutoCAD environment. One can use predefined symbols from the corresponding libraries and menus.

4.           Problem solving using the module CADRAM‑4‑Solver. All of the produced solutions could be presented simultaneously in two ways, during the processing: either inside graphical interface of Prolog (Borland Graphics), or inside AutoCAD environment.

5.           Presentation of all of the solutions using the module AutoCADRAM‑Show inside AutoCAD environment.

There is on-line help inside every module of program CADRAM. The two last modules could run simultaneously, inside a "multi-tasking" environment, for instance "Windows".

Presentation example:

In the next page, the full definition file, the CADRAM logo and the plans showing all the 13 alternative solutions (all from the example of the presentation of the thesis), are presented:

 


 

; SPACE'S DEFINITION

OBJECT space      PART r      KIND r  FROM  0,0   DIM  8,6

OBJECT space      PART c      KIND c  FROM  0,0   DIM  2,2

OBJECT space      PART c2     KIND c  FROM  6,0   DIM  2,2

OBJECT space      PART c3     KIND c  FROM  3,5   DIM  2,1

OBJECT space      PART c4     KIND c  FROM  7,2   DIM  1,2

 

; OBJECTS' DEFINITION

OBJECT door       PART dr     KIND r  FROM  0,0   DIM  2,2

OBJECT window     PART wc     KIND c  FROM  0,0   DIM  2,1

OBJECT closet     PART clr    KIND r  FROM  0,0   DIM  4,1

OBJECT closet     PART clf    KIND f  FROM  0,1   DIM  4,1

OBJECT closet     PART clc    KIND c  FROM  0,-1  DIM  4,1

OBJECT closet     PART clc2   KIND c  FROM  4,0   DIM  1,1

OBJECT closet2    PART clr    KIND r  FROM  0,0   DIM  4,1

OBJECT closet2    PART clf    KIND f  FROM  0,1   DIM  4,1

OBJECT closet2    PART clc    KIND c  FROM  0,-1  DIM  4,1

OBJECT closet2    PART clc2   KIND c  FROM  4,0   DIM  1,1

OBJECT bed        PART br     KIND r  FROM  0,0   DIM  4,2

OBJECT bed        PART bc     KIND c  FROM  0,2   DIM  1,1

OBJECT bed        PART bc2    KIND c  FROM  0,-1  DIM  4,1

OBJECT bed        PART bf     KIND f  FROM  1,2   DIM  3,1

OBJECT bed        PART bf2    KIND f  FROM  4,0   DIM  1,3

OBJECT bedside    PART bsr    KIND r  FROM  0,0   DIM  1,1

OBJECT bedside    PART bsc    KIND c  FROM  0,1   DIM  1,1

OBJECT table      PART tr     KIND r  FROM  0,0   DIM  4,2

OBJECT table      PART tf     KIND f  FROM  1,3   DIM  3,1

OBJECT table      PART tc     KIND c  FROM  0,2   DIM  4,1

OBJECT table      PART tc2    KIND c  FROM  0,-1  DIM  4,1

OBJECT table      PART tc3    KIND c  FROM  -1,0  DIM  1,2

OBJECT table      PART tc4    KIND c  FROM  0,4   DIM  4,1

OBJECT chair      PART cr     KIND r  FROM  0,0   DIM  1,1

OBJECT chair      PART cc     KIND c  FROM  -1,1  DIM  4,1

OBJECT chair      PART cf     KIND f  FROM  1,0   DIM  1,1

OBJECT chair      PART cf2    KIND f  FROM  -1,0  DIM  1,1

OBJECT small      PART sr     KIND r  FROM  0,0   DIM  2,1

OBJECT small      PART sf     KIND f  FROM  0,1   DIM  2,1

 

; RELATIONS' DEFINITION

RELATION d1   place   door,dr     in      space,c    
WITH ANGLES 0 MIRRORS original

RELATION d2   place   door,dr     in      space,c2   
WITH ANGLES 180 MIRRORS mirrored

RELATION d12  oneof   d1 d2

 

RELATION w1   place   window,wc   in      space,c3   
WITH ANGLES 180 MIRRORS original

RELATION w2   place   window,wc   in      space,c4   
WITH ANGLES  90 MIRRORS original

RELATION w12  oneof   w1 w2

 

RELATION cl1  place   closet,clr  int_cnt space,r       
WITH ANGLES 0,90,180,270 MIRRORS original,mirrored

RELATION cl2  check   closet,clc  in      space,r

RELATION cl2n noneof  cl2

RELATION cl3  check   closet,clc2 in      space,r

RELATION cl3n noneof  cl3

RELATION cl4  check   closet,clr  int     window,wc

RELATION cl4n noneof  cl4

RELATION cl23 allof   cl3n cl2n cl4n

 

RELATION cll1  place   closet2,clr  int_cnt space,r  
WITH ANGLES 0,90,180,270 MIRRORS original,mirrored

RELATION cll2  check   closet2,clc  in      space,r

RELATION cll2n noneof  cll2

RELATION cll3  check   closet2,clc2 in      space,r

RELATION cll3n noneof  cll3

RELATION cll4  check   closet2,clr  int     window,wc

RELATION cll4n noneof  cll4

RELATION cll23 allof   cll3n cll2n cll4n

 

RELATION b1   place   bed,br      int_cnt space,r    
WITH ANGLES 0,90,180,270 MIRRORS original,mirrored

RELATION b3   check   bed,bc2     in      space,r

RELATION b3n  noneof  b3

RELATION b4   check   bed,bc2     in      closet,clf

RELATION b34  oneof   b3n b4

 

RELATION bs1  place   bedside,bsr in      bed,bc     
WITH ANGLES 180 MIRRORS original,mirrored

RELATION bs2  check   bedside,bsc in      bed,br

RELATION bs3  check   bedside,bsr int_cnt space,r

 

RELATION t1   place   table,tr    int_cnt space,r    
WITH ANGLES 0,90,180,270 MIRRORS original,mirrored

RELATION t2   check   window,wc   int     table,tr

RELATION t3   check   table,tc2   in      space,r

RELATION t3n  noneof  t3

RELATION t4   check   table,tc3   in      space,r

RELATION t4n  noneof  t4

RELATION t5   check   table,tc4   in      space,r

RELATION t5n  noneof  t5

RELATION t34  allof   t4n t3n

RELATION t45  allof   t5n t4n

RELATION t345 oneof   t34 t45

 

RELATION ch1  place   chair,cc    in      table,tr   
WITH ANGLES 180 MIRRORS original,mirrored

RELATION ch2  check   chair,cr    in      table,tc

 

RELATION s1   place   small,sr    int     table,tc   
WITH ANGLES 270 MIRRORS original,mirrored

RELATION s2   check   small,sf    int     table,tf

 

RELATION main allof   d12 w12 cl1 cl23 b1 b34 bs1 bs2 bs3 t1 t2
t345 ch1 ch2 s1 s2

; RELATION main allof   d12 w12 cl1 cl23 b1 b34 bs1 bs2 bs3 t1 t2
t345 ch1 ch2 s1 s2 cll1 cll23


References

Βενέρης Γ, 1991, "Από την σχεδίαση στον σχεδιασμό και τις εφαρμογές της τεχνητής νοημοσύνης", Ο Κατασκευαστής, τ.171, σ.42-47.

Βιριράκης Λ, 1990, "Μέθοδος αρχιτεκτονικού σχεδιασμού σε συνεχή περιοχή αναζήτησης", Διδακτορική Διατριβή, Αθήνα.

Βρυχέα Α,  Μωραϊτης Κ, 1987, Αντικείμενο καθημερινής χρήσης ΙΙ (Ε.Μ.Π., ΑΘΗΝΑ).

Akin O, 1986, "A formalism for problem restructuring and resolution in design", Environment and Planning B: Planning and Design, v.9, p.95-111.

Alexander C, 1964, "Notes on the Synthesis of Form", Harvard University Press

Alty JL and Coombs MJ, 1984, Expert Systems (Concepts and examples), NCC Publications, The National Computing Centre Ltd, England.

Banham R, 1960, "Theory and Design in the first Machine Age", Architectural Press, London

Borland,  1986, Turbo Prolog, 1st Edition, USA.

Ching F, 1979, "Architecture, Form, Space & Order", Van Nostrand Reinhold

Eastman CM, 1972, "Logical methods of building design: A synthesis and review", DMG-DRS Journal: Design research and methods, v.6, n.3, p.79-87.

Korf RE, 1987, "Planning as a search: A quantitative approach", Artificial Intelligence,  v.33, p.65-88.

Le Corbusier, 1948, "Modulor"

Los M, 1973, "Spatial Design and Artificial Intelligence", University of Pennsylvania, Planning Sciences, Master Thesis (Draft) (April).

Mitchel WJ, 1975, "The theoretical foundation of computer aided architectural design", Environment and Planning B, v.2, p.127-150.

Mitchell W, 1990, "The Logic Of Architecture, Design, Computation and Cognition", ed. MIT Press

Moneo R, 1978, "On Typology", Oppositions, nº 13

Neufert Ε, 1972 Οικοδομική, Εκδοση 4, (Μ.Γκιούρδας, Αθήναι).

Newell A, Shaw JC, and Simon HA, 1959, Report on a general problem-solving program, Proceedings of international conference on information processing (UNESCO), P.256-265.

Newell A, 1966, On the analysis of human problem solving protocols, Gardin (ed) PUF. 1968, p.145-185.

Nilson NJ, 1982, Principles of Artificial Intelligence, Springler-Verlag, Berlin, Heidelberg, New York.

Panero J & Zelnik M, 1979, Human dimension & interior space (Whitney, Great Britain).

Rich E, 1983, Artificial Intelligence, McGraw_Hill Book Company, New York, St.Louis, San Francisco.

Sacredoti ED, 1974, "Planning in an Hierarchy of Abstraction Spaces", Artificial Intelligence, v.5, p.115-135.